'use strict';
module.exports = {
	/**
	 * 获取个人主页动态列表
	 * @url client/dynamic/kh/getMyDynamic 前端调用的url参数地址
	 * data 请求参数
	 * @param {String} params1  参数1
	 */
	main: async (event) => {
		let {
			data = {}, userInfo, util, filterResponse, originalParam
		} = event;
		let {
			customUtil,
			uniID,
			config,
			pubFun,
			vk,
			db,
			_
		} = util;
		let {
			uid
		} = data;
		let res = {
			code: 0,
			msg: "",
			data: {
				userData: {},
				dynamics: {},
				works: {},
				isFollowed: null,
				follow_num: 0,
				fans_num: 0
			}
		};
		// 业务逻辑开始-----------------------------------------------------------

		let info = await vk.baseDao.findByWhereJson({
			dbName: "uni-id-followers",
			whereJson: {
				friend_uid: data.userId,
				follow_uid: uid
			}
		});
		if (info) {
			res.data.isFollowed = true;
		}



		res.data.userData = await vk.baseDao.findById({
			dbName: "uni-id-users",
			id: data.userId,
			fieldJson: {
				// token: false,
				avatar: true,
				nickname: true
			}
		});

		res.data.works = await vk.baseDao.selects({
			dbName: "wy-cloth-work", // 主表名
			getCount: false, // 是否需要同时查询满足条件的记录总数量，默认false
			getMain: true, // 是否只返回rows数据，默认false
			pageIndex: 1, // 查询第几页
			pageSize: 10, // 每页多少条数据
			// 主表where条件
			whereJson: {
				uid: data.userId
			},
			// 主表字段显示规则
			fieldJson: {},
			// 主表排序规则
			sortArr: [{
				"name": "_add_time_str",
				"type": "desc"
			}]
		});
		res.data.fans_num = await vk.baseDao.count({
			dbName: "uni-id-followers", // 表名
		 whereJson: { // 条件
		 	friend_uid: data.userId
			}
		});

		res.data.follow_num = await vk.baseDao.count({
			dbName: "uni-id-followers", // 表名
			whereJson: { // 条件
			follow_uid: data.userId
			}
		});

		res.data.dynamics = await vk.baseDao.selects({
			dbName: "wy-dynamic", // 主表名
			getCount: false, // 是否需要同时查询满足条件的记录总数量，默认false
			getMain: true, // 是否只返回rows数据，默认false
			pageIndex: 1, // 查询第几页
			pageSize: 10, // 每页多少条数据
			// 主表where条件
			whereJson: {
				dynamic_status: 1,
				uid: data.userId
			},
			// 主表字段显示规则
			fieldJson: {},
			// 主表排序规则
			sortArr: [{
					"name": "_add_time_str",
					"type": "desc"
				},
				{
					"name": "view_count",
					"type": "desc"
				},
			]
		});



		// 业务逻辑结束-----------------------------------------------------------
		return res;
	}
}
